package com.jiangxjsy.crm.mapper;

import com.jiangxjsy.model.crm.bo.CrmRoleFieldBO;
import com.jiangxjsy.model.crm.entity.CrmRoleField;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * wukong-crm-master
 * 蒋胜宇
 * 2025/6/19 15:30
 */

public interface CrmRoleFieldMapper {
    /**
     * 根据角色ID和标签查询角色字段
     *
     * @param roleIds 角色ID
     * @param label 标签
     * @return 角色字段
     */
    List<CrmRoleField> selectByRoleIdsAndLabel(@Param("roleIds") List<Integer> roleIds, @Param("label") Integer label);

    /**
     * 根据角色ID和标签查询角色字段数量
     *
     * @param roleId 角色ID
     * @param label 标签
     * @return 角色字段数量
     */
    @Select("select count(*) from wk_crm_role_field where role_id = #{roleId} and label = #{label}")
    Integer countByRoleIdAndLabel(@Param("roleId") Integer roleId, @Param("label") Integer label);

    /**
     * 查询角色字段
     *
     * @param roleId 角色ID
     * @param label 标签
     * @return 角色字段
     */
    List<CrmRoleFieldBO> selectRoleFieldList(@Param("roleId") Integer roleId, @Param("label") Integer label);

    /**
     * 批量插入角色字段
     *
     * @param fields 角色字段
     * @return 插入数量
     */
    Integer insertBatch(@Param("fields") List<CrmRoleFieldBO> fields);
}
